package com.ympc.service;

import com.ympc.pojo.Assignment;
import com.ympc.pojo.StudentAssignment;

import java.util.List;

public interface StudentAssignmentService {
    // 根据学生ID获取所有作业（包括未提交的）
    List<Assignment> getAssignmentsForStudent(Integer studentId);
    
    // 根据学生ID获取已提交的作业
    List<StudentAssignment> getSubmittedAssignments(Integer studentId);
    
    // 根据作业ID和学生ID获取提交记录
    StudentAssignment getSubmission(Integer assignmentId, Integer studentId);
    
    // 提交作业
    boolean submitAssignment(StudentAssignment studentAssignment);
    
    // 更新作业提交
    boolean updateSubmission(StudentAssignment studentAssignment);
    
    // 根据作业ID获取所有提交记录
    List<StudentAssignment> getSubmissionsByAssignmentId(Integer assignmentId);
    
    // 批改作业（评分和评语）
    boolean gradeAssignment(Integer submissionId, Integer score, String comment);
    
    // 根据作业ID和班级名称获取学生完成情况
    List<com.ympc.pojo.StudentCompletionStatus> getStudentCompletionStatus(Integer assignmentId, String className);
    
    // 根据ID获取提交记录
    StudentAssignment getSubmissionById(Integer submissionId);
}

